package cn.topevery.garden.dal.dao;

import cn.topevery.garden.entity.po.ProjPlan;
import cn.topevery.garden.entity.query.ProjPlanQuery;
import cn.topevery.garden.entity.vo.ProjPlanAndFilesVO;
import cn.topevery.garden.entity.vo.ProjPlanAndProjNameVO;
import cn.topevery.garden.entity.vo.ProjPlanIndexVO;
import cn.topevery.garden.entity.vo.ProjPlanVO;
import cn.topevery.garden.framework.base.BaseDao;
import hw.topevery.framework.db.entity.DataPager;

import java.util.Collection;
import java.util.List;

/**
 * 项目计划表
 *
 * @author code-generate
 * @date 2022-11-02
 */
public interface ProjPlanDao extends BaseDao<ProjPlan> {

    

    /**
     * 获取列表
     *
     * @param query
     */
    DataPager<ProjPlanVO> listPage(ProjPlanQuery query);

    List<ProjPlanAndProjNameVO> list(ProjPlanQuery query);

    /**
     * 新增编辑
     * @param userId
     * @param entityClass
     * @param entity
     */
    void saveOrUpdate(String userId,Class<ProjPlan> entityClass,ProjPlan entity);
    /**
     * 批量新增编辑
     *
     * @param userId 用户ID
     * @param list   数量集
     */
    void saveOrUpdate(String userId, Class<ProjPlan> entityClass, Collection<ProjPlan> list);

    ProjPlanVO getEntityById(String planId);

    List<ProjPlanIndexVO> listByProjId(String projId);
}
